Devices and systems can store or retrieve data using non-volatile memory structures. For example, a digital camera can store an image to a non-volatile memory structure. In another example, a digital media player such as an MP3 player can read a digital audio file from non-volatile memory and play the contents of the audio file. Mobile devices such as a mobile phone or a personal digital assistant (PDA) can read data from and write data to one or more non-volatile memory structures.
A non-volatile memory structure can include memory cells such as flash memory cells. Various examples of memory cells include a single level cell (SLC) or a multi-level cell (MLC). Memory cells can store data by trapping granulized amounts of charge in, for example, an isolated region of a transistor. This process of trapping charges can be referred to as programming. A controller can estimate an amount of charge stored during readout of the cell. Retrieving data from a memory cell can include applying a read voltage to the transistor and subsequently estimating the readout current which is determined by the amount of charge trapped in the cell.
An example of a type of memory cell is a SLC that can store one bit of information. In such a memory cell, the memory cell can hold or not hold a charge to indicate, for example, logic 1 when a charge is stored, and to indicate logic 0, when no charge is stored.